home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-20 | 25.0 KB | 1,756 lines |
-
- ñ9. The Menus
-
-
- This section describes each of Concurrent Clean's menus.
-
-
-
-
-
- xThe Apple Menu
-
-
- Ë
-
- Ë
-
- Ë
-
-
-
- • About Clean System…
-
-
- This command opens Concurrent Clean's About window.
-
-
-
-
- xThe File Menu
-
-
- È
-
- È
-
- È
-
- È
-
- È
-
- È
-
- È
-
- È
-
- È
-
- È
-
- È
-
-
- È
-
- È
-
- È
-
-
- È
-
- È
-
- È
-
- È⌘
-
- È⇧
-
- È⌥
-
- È⌃
-
- È
-
-
-
- • New…
-
-
- A new window to a new file will be opened with the default name
-
- Untitled.icl. This default name can be changed in the Dialog. When you don't
-
- want the dialog to change the default name, hold down the shift key and
-
- choose New.
-
-
- The window can be edited with the Concurrent Clean text editor and its
-
- contents can be saved to the file (see Save and Save As…)
-
-
- The following type of windows / files can be created:
-
-
- • Clean Module: an implementation module with extension .icl
-
- • Clean Definition Module: a definition module with extension .dcl
-
- • pABC File: an ABC / PABC file with extension .abc
-
- • Text File: any text file (for instance .a files)
-
-
- See also Files.
-
-
- • Open…
-
-
- Open a window on an existing file.
-
-
- The standard Open dialog appears.
-
-
- Files that can be opened and edited are: .icl, .dcl, .abc, .s, .a files or any
-
- other text file.
-
-
- See also Files.
-
-
- • Open Definition
-
-
- This command is usually disabled. When a portion of text is selected (for
-
- example the text "selection") the command is enabled and changes to Open
-
- "selection.dcl". When this command is chosen it will try to open the
-
- corresponding .dcl file. It can be used to quickly open imported modules:
-
- just select the name of the file in the IMPORT statement and choose this
-
- command. For an easy way to locate the definitions of imported functions
-
- and types see Find Definition and Find Implementation under the Search
-
- menu.
-
-
- • Open Implementation
-
-
- This command works the same as the Open Definition command, but now
-
- the implementation module (.icl file) will be opened.
-
-
- • Close
-
-
- Closes the active (front) window.
-
-
- A dialog will appear when a text window is closed with a contents
-
- different from the corresponding file.
-
-
- • Save
-
-
- Save the contents of the active (front) window to the corresponding file.
-
-
- • Save As…
-
-
- Save the contents of the active (front) window to the indicated file. A
-
- standard New File dialog appears, asking you to specify the file's name
-
- and location.
-
-
- • Revert
-
-
- Reopen the last saved version of the file corresponding to the active
-
- (front) window. A dialog appears to warn you that the changes made after
-
- the last time
-
- the text was saved will be lost.
-
-
- • Page Setup…
-
-
- This command presents the standard Page Setup dialog.
-
-
- • Print…
-
-
- This command presents the standard Print dialog. Any text file can be
-
- printed. Also the Help file can be printed (see also Help).
-
-
- • Quit
-
-
- Quit the Concurrent Clean System.
-
-
-
-
- xThe Edit Menu
-
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
- Í
-
-
- Í
-
- Í
-
- Í
-
-
- Í
-
- Í
-
- Í
-
-
-
- • Undo
-
-
- Undo the last change made in the text of the front window.
-
-
- • Cut
-
-
- Cuts the text currently selected in the front window to the clipboard.
-
-
- • Copy
-
-
- Copies the text currently selected in the front window to the clipboard.
-
-
- • Paste
-
-
- Insert the contents of the clipboard at the current cursor location or
-
- replace the currently selected text in the front window by the contents of
-
- the clipboard.
-
-
- • Clear
-
-
- Clear the text currently selected in the front window.
-
-
- • Balance
-
-
- This commands selects the smallest balanced piece of text that surrounds
-
- the current cursor position or currently selected text.
-
-
- This feature can be used to find corresponding open and close symbols in
-
- Concurrent Clean programs.
-
-
- The following symbols are considered: Parentheses: '(' and ')' to check
-
- expressions, Brackets: '[' and ']' to check lists, Curly braces: '{' and '}'
-
- to check annotations. Comment brackets '/*' and '*/' to check bracketed
-
- comments.
-
-
- • Select All
-
-
- Select all text of the front window.
-
-
-
- • Format…
-
-
- —
-
- —
-
- —
-
- —
-
- —
-
- —
-
- —
-
- —
-
- —
-
- —
-
- —
-
-
- —
-
- —
-
- —
-
-
- —
-
- —
-
- —
-
-
-
- The dialog allows you to assign a new text font and text size to the active
-
- (front) text window. Also the tab width can be redefined. With the Auto
-
- Indentcheck box the auto indent facility of the text editor can be switched
-
- on and off for the active window.
-
-
- All settings are stored in the resource of the corresponding file or in the
-
- Clean preference file when a window is closed or the file is saved.
-
-
-
-
- xThe Search Menu
-
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
- Î
-
-
- Î
-
- Î
-
- Î
-
-
- Î
-
- Î
-
-
-
-
- • Find…
-
-
- “
-
- “
-
- “
-
- “
-
- “
-
- “
-
- “
-
- “
-
- “
-
- “
-
- “
-
-
- “
-
-
-
- A dialog appears in which one can define a text to search for (in the Find
-
- Box) and the text to replace the found text with (in the Replace Box).
-
-
- By default the Find and Replace starts from the current cursor position or
-
- currently selected text to the end of the text. On demand the Find and
-
- Replace goes backwards to the beginning of the text. When Wrap Around is
-
- chosen the Findand Replace does not stop at the beginning and end of the
-
- text in the activewindow. When Ignore Case is chosen, no distinction is
-
- made between upper and lower case characters in the text to search for.
-
- When the Match Words option is checked only whole words will be
-
- selected. When the text to search for appears as a part of another word it
-
- will be ignored. Whole words are delimited by outline characters (spaces,
-
- tabs, (semi)colons, quotes etcetera).
-
-
- • Find Again
-
-
- When a text has been entered in the Find Box (see Find...) this command
-
- changes to Find Next. It will find the next piece of text as defined in the
-
- Find Box. When the Shift key is held down the command changes to Find
-
- Previous, which finds the previous piece of text as defined in the Find
-
- Box. When the Backwards option is checked in the Find dialog it is the
-
- other way around (without shift: Find Previous, with shift: Find Next).
-
-
- • Find Selection
-
-
- The selected piece of text will be entered into the Find Box (see Find...)
-
- and the next occurrence of the selection will be found. When shift is
-
- pressed the previous occurrence will be found. When the Backwards option
-
- is checked in the Find dialog it is the other way around (without shift: find
-
- previous, with shift: find next).
-
-
- • Replace & Find
-
-
- Replace found text with the text as defined in the Replace Box and find the
-
- next piece of text as defined in the Find Box (see Find...). When shift is
-
- being held down the previous occurrence will be found. When the
-
- Backwards option is checked in the Find dialog it is the other way around
-
- (without shift: find previous, with shift: find next).
-
-
- • Find Error
-
-
- This command selects the next error message in the Errors window and
-
- also selects the corresponding text line in which the error occurred. When
-
- an error occurs in a file which is not opened a window on this file will be
-
- opened automatically. This command only has an effect when the Errors
-
- window is open.
-
-
- • Find Definition
-
-
- When a Clean symbol (function, type or constructor) is selected this
-
- command will try to find the definition of this symbol in its definition
-
- module. Pressing command and double-clicking on the name has the same
-
- effect. Functions that have no type specification cannot be found. When
-
- your Clean modules have a (very) unusual lay-out the search algorithm
-
- might also not be able to find the definitions of Clean symbols.
-
-
- Implem.
-
- • Find Implementation
-
-
- This command does the same as Find Definition, but now the
-
- implementation modules will be searched for the symbol. Holding down
-
- shift and command and double-clicking on the name has the same effect as
-
- this command.
-
-
-
- • Goto Line…
-
-
- ”
-
- ”
-
- ”
-
- ”
-
- ”
-
- ”
-
- ”
-
- ”
-
-
-
- Select the line with the indicated line number. Define the desired line
-
- number in dialog box. The lines in a text window are numbered starting
-
- from 1. The line with the indicated line number is selected. One can move
-
- the cursor to the end of the text by entering a line number greater than
-
- the number of lines in the text. Entering the line number zero and pressing
-
- OK has the same effect as pressing Cancel: nothing happens. For other
-
- ways of moving the cursor around and selecting lines see the entry Text
-
- Editor.
-
-
-
-
- xThe Commands Menu
-
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
- Ï
-
-
- Ï
-
- Ï
-
- Ï
-
-
-
-
- • Compile
-
-
- Compile the Concurrent Clean implementation module (name.icl) displayed
-
- in the active window.
-
-
- Error messages will appear when inconsistencies are found. With Find
-
- Error in the Search menu the line in which the error was found is
-
- selected.
-
-
- When no errors are found, type information is displayed in the Types
-
- window when this option was chosen (see Clean Compiler…).
-
-
- A file name.abc will be created in the folder Clean System Files. This
-
- folder will also be created if it does not yet exist in the same folder
-
- where name.icl/name.dcl is located.
-
-
- For more information see the entry Clean Compiler in the Table of
-
- Contents. Check the compiler options in the Options menu when in doubt.
-
- See also the Clean Reference Manual.
-
-
- • Check Syntax
-
-
- Check the Concurrent Clean implementation module (name.icl) displayed in
-
- the active window.
-
-
- Check Syntax does the same as compile, but now no .abc file is generated.
-
-
- • Generate Assembly
-
-
- Generate an assembly file corresponding to the Concurrent Clean
-
- implementation module (name.icl) displayed in the active window. The
-
- assembly file is placed in the same folder as the icl file and has the
-
- extension .a (for example name.a).
-
-
- The assembly file is generated by the Code Generator taken a name.abc
-
- file as input. This file is generated by the Clean compiler. If the .abc file is
-
- not present or inconsistent the Generate Assembly command will invoke a
-
- compilation of the implementation module (see Compile).
-
-
- See also the entries Files and Code Generator.
-
-
- • Set Project
-
-
- Let the name of the project be the name of the Concurrent Clean
-
- implementation module (name.icl) displayed in the active window.
-
-
- Implicitly the name of a project is determined by the implementation
-
- module displayed in the front window. So, by default such an
-
- implementation module is taken as the main module. See also the entry
-
- Project Manager.
-
-
- When Set Project is chosen any other open implementation module may
-
- explicitly be assigned to be the main module. This feature enables
-
- automatic compilation and generation of code starting while another
-
- window than the window on the main module is in front.
-
-
- The default situation can be reset again by choosing Close Project from
-
- the Commands menu.
-
-
- See also the entry Project Manager.
-
-
- • Close project
-
-
- Close the current project.
-
-
- This command can be chosen when a project has been set explicitly via
-
- Set Project. Now again the implicit default is chosen (see Set Project).
-
-
- • Bring Up to Date
-
-
- This command will bring the project up-to-date.
-
-
- This means that, starting from the main module all implementations that
-
- are inconsistent will be recompiled (see Compile). Also the inconsistent
-
- object files are regenerated and a new application is build.
-
-
- Inconsistencies can arise when implementation modules are modified or
-
- when implementation modules have to be recompiled because they are
-
- depending on modified or recompiled modules.
-
-
- Convince yourself that the proper project is chosen, either implicitly
-
- (activate the window of the main module), or explicitly (via Set
-
- Project…).
-
-
- After an update all files are consistent. Launching of an application can
-
- now be done without recompilations.
-
-
- • Run project-name
-
-
- This command first brings a Concurrent Clean program up-to-date and
-
- then launches
-
- it.
-
-
- The Run command will perform the same actions as the Bring Up To Date
-
- command explained above. In addition the generated application is
-
- launched. The system will warn you when there is not enough free
-
- memory left to launch the generated application.
-
-
- Run is displayed dimmed when no project is chosen (no .icl window in
-
- front or no project set with Set Project).
-
-
- When a launched application is finished, you will return to the Concurrent
-
- Clean System automatically. When you are running an old finder (not a
-
- multi-finder) this will take a while because the Clean System has to be
-
- reloaded. Convince yourself that the proper project is chosen, either
-
- implicitly (activate the window of the main module), or explicitly (via
-
- Set Project…).
-
-
-
-
- xThe Options Menu
-
-
- Ì
-
- Ì
-
- Ì
-
- Ì
-
- Ì
-
- Ì
-
- Ì
-
- Ì
-
- Ì
-
-
-
-
- • Clean
-
- Compiler...
-
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
- ‘
-
-
- ‘
-
- ‘
-
- ‘
-
-
- ‘
-
- ‘
-
- ‘
-
- ‘⌘
-
-
-
- A dialog appears to set the options of the Clean compiler. Options can be
-
- set for the current implementation module (.icl file) as well as for new
-
- modules.
-
-
- • Strictness Analyzer
-
-
- When this option is set the strictness analyser will try to determine
-
- whether or not the defined functions are strict in their arguments. Strict
-
- arguments will be marked with '!' in the type definition.
-
-
- In general, much better code will be generated when this option is set. The
-
- penalty is that the compilation takes more time.
-
-
- When you are exporting a function with strict arguments, it is for
-
- efficiency reasons better to export the strictness information also. You
-
- have to do this by hand. Define the type specification including the
-
- strictness information in both the definition and the implementation
-
- module.
-
-
- Strictness annotations defined by the programmer are not checked but
-
- taken to be true.
-
-
- • No Types
-
-
- No type or strictness information is displayed when this option is chosen.
-
-
- • Inferred Types
-
-
- The inferred types of functions that are not typed by the programmer are
-
- displayed in the Types window. Strictness information is not displayed.
-
-
- • Strict Export Types
-
-
- The types of functions that are exported are displayed including inferred
-
- strictness information, but only when the type in the definition module
-
- does not contain the same strictness information as was found by the
-
- strictness analyser. This way it is easy to check for all function if all
-
- strictness information is exported.
-
-
- • All types
-
-
- The types of all functions including strictness information are displayed in
-
- the Types window.
-
-
- • Show Attributes
-
-
- Check this box if you want uniqueness attributes displayed in the listed
-
- types.
-
-
- • Be Verbose
-
-
- If set additional information about the compilation process is given. Turn
-
- it off to speed up the compilation.
-
-
- • Give warnings
-
-
- When this option is set also warnings are produced in the Error window.
-
- Turn it on when you are an inexperienced Clean programmer or when you
-
- want to be informed about unusual but not erroneous situations.
-
-
- • Generate comments
-
-
- Set this option if you want to be able to read the generated .abc file. Turn
-
- it off to speed up the compilation process.
-
-
-
- • Code
-
- Generator...
-
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
-
- ≈∏
-
- ≈∏
-
- ≈∏
-
-
- ≈∏
-
-
-
- In this dialog the options for the Code Generator can be set. The code
-
- generator reads .abc files and generates .obj files.
-
-
- Options can be set for the current project as well as a default for new
-
- projects.
-
- See Code Generator, Application and Files.
-
-
- • Checks
-
-
- One can generate additional code to check the stack boundaries. When you
-
- are developing an application, set the Check Stacks option on. When you
-
- have tuned the final application (see Application) and are certain that the
-
- stack boundaries are not violated, you can turn the options off to speed up
-
- execution.
-
-
- When you are developing an application, set the Check Indices option on
-
- when you are using Arrays. When you have tuned the final application (see
-
- Application) and are certain that the index boundaries are not violated,
-
- you can turn the options
-
- off to speed up execution.
-
-
- By default the .abc files generated by the compiler will be thrown away
-
- after code generation. Set the Keep ABC Files option if you want to keep
-
- your .abc files. This can be useful when you want to generate code for
-
- another processor without recompilation or if you are interested in the
-
- generated ABC code.
-
-
- • Processor
-
-
- Choose the proper processor on which the application should run. Also
-
- specify that a floating point processor is available.
-
-
- By default, the Code Generator generates code for the machine that you
-
- are working on (Current Processor). If you want to generate code for
-
- another type of machine, check one of the other options. One has to decide
-
- on which class of machines the applications should run (68000/Mac+ or
-
- higher, 68020 or higher). The 68020 option will produce much better
-
- code, but the application will not run on a Mac+.
-
-
- Check the Keep PowerPC code option if you want to generate a fat
-
- application for the Macintosh. If this option is not checked, the Clean
-
- System will ask if you want to delete the PowerPC code when the
-
- application you generate already contains PowerPC code.
-
-
-
- • Application…
-
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
- ÿ
-
-
- ÿ
-
- ÿ
-
- ÿ
-
-
- ÿ
-
- ÿ
-
-
-
- In this dialog the run-time options for an application can be set. The
-
- application for which the options are set is determined by the project
-
- name. The current name is displayed in the Execute command in the
-
- Commands menu (command R). The options are used when a new
-
- application is generated. Even when the application already exists, its
-
- options can be reset to the new values, without recompilation.
-
-
- Options can be set for the current project as well as a default for new
-
- projects.
-
-
- Application options are stored in the resource of the corresponding
-
- application and examined by its run-time system before the execution
-
- starts
-
-
- This version of the Concurrent Clean System is able to generate
-
- sequential applications. We are working on a code generator that produces
-
- parallel code for several Macs connected by an AppleTalk network.
-
-
- • Configuration
-
-
- Set the heap space and the maximal amount of space available for the
-
- stacks. The stack space is created outside the heap space. The extra
-
- memory is needed for administration and is highly determined by the
-
- number of files and windows that are opened. 40 to 60K will be enough in
-
- general. An application might crash when this value is set too low.
-
-
- The application will stop with a run-time error message when a heap or
-
- stack turns out to be too small during execution and code is generated to
-
- test on the stack boundaries (see Code Generation). When no checks are
-
- incorporated, the application will probably crash when stack boundaries
-
- are violated. The heap size will always be tested.
-
-
- Increase the space sizes when the application needs more memory. It is
-
- also possible that the application requires less memory. For an optimal
-
- tuning look at the run-time information that the application can produce
-
- (see below).
-
-
- • Information
-
-
- An application can produce all kinds of information to make an optimal
-
- tuning of the memory size to be assigned to the application possible.
-
-
- The execution time will be displayed when the application stops and Show
-
- Execution Time is chosen.
-
-
- Each time the garbage collector is invoked this is displayed when Show
-
- Garbage Collections is chosen. The run-time system uses both a copying
-
- as well as a mark-scan garbage collection algorithm. It automatically
-
- switches between these two garbage collection strategies to obtain an
-
- optimal time/space behaviour (see Groningen (1991)). This option gives
-
- you information about how well the heap size was chosen.
-
-
- In addition, also the sizes of the different stacks are printed when Print
-
- Stack Size is chosen. This helps to tune the sizes of the stacks.
-
-
- • Output
-
-
- With these options one has control over the way the result of the Start
-
- function is displayed.
-
-
- Choose Show Constructors and all constructors and brackets will be
-
- shown.
-
- Choose Basic Values Only if you only want to display basic values only
-
- (integers, booleans, strings, characters, reals).
-
-
- Choose No Console if the I/O of the program is handled via the I/O
-
- libraries. When this option is chosen no console (output window) for the
-
- program will be provided and the result of the Start function will not be
-
- displayed. When the Clean program explicitly tries to write to the console
-
- a console window will be opened. Be careful when you use this option,
-
- because run-time errors will now just lead to termination of the program,
-
- without any error message. So, when your program terminates
-
- unexpectedly probably a run-time error has been detected. Choose one of
-
- the other Output options and run the program again to be able to read the
-
- error message.
-
-
- The font and size of the generated output on the console can also be set in
-
- the dialog that appears when the Font button is pressed. This option has no
-
- effect when the output of the program is done via the I/O libraries of
-
- Concurrent Clean.
-
-
-
-
- • Paths…
-
-
- –
-
- –
-
- –
-
- –
-
- –
-
- –
-
- –
-
- –
-
- –
-
- –
-
- –
-
-
- –
-
- –
-
- –
-
-
- –
-
- –
-
- –
-
-
-
- Define the search paths for the Concurrent Clean System.
-
-
- A dialog appears in which you can add and remove search paths, i.e.
-
- folders in which the System will search.
-
-
- There are default settings for any project and settings that are project
-
- dependent.
-
-
- When a folder is added, a standard dialog appears to let you define the
-
- folder to search for. Folders are only examined one level deep, so no
-
- sub-folders are searched, except for the subfolder Clean System Files.
-
- This folder (if it exists) will also be examined inside each selected folder.
-
-
- By default the System will need to find the StdEnv folder. When you are
-
- developing an application that uses the advanced I/O-facilities the
-
- IOInterface and MacInterface folder will also be needed.
-
-
- For a project all files that are part of the project have to be found. By
-
- default, the system will search in the folder where the main module is
-
- located. Also the Clean System Files folder that is generated
-
- automatically in this folder will be searched.
-
-
- When parts of a project are located elsewhere, or when special libraries
-
- have to be included, the corresponding folders have to be added explicitly
-
- to the search paths. The Clean System Files folders inside each of these
-
- included folders will also be searched then.
-
-
- The Project Manager will complain when it cannot locate the files it needs.
-
- A dialog will appear that enforces you to define the location of these files.
-
- Add the corresponding folders to the search paths to get rid of the
-
- annoying
-
- messages.
-
-
- See also Installation.
-
-
-
-
- xThe Windows Menu
-
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
- Ó
-
-
- Ó
-
- Ó
-
- Ó
-
-
- Ó
-
- Ó
-
-
-
- • Next Window
-
-
- Activates the window directly under the active window and brings it to
-
- front. The active window is moved to the bottom of the stack of windows
-
- that are currently open in the Concurrent Clean System.
-
-
- • Zoom In / Zoom Out
-
-
- Standard zoom in or zoom out of the active (front) window.
-
-
- • Show Clipboard / Hide Clipboard
-
-
- This command opens a window on the Clipboard or closes this window
-
- when it is already open.
-
-
- • Help...
-
-
- This command opens Concurrent Clean's Help window or brings it to the
-
- front if it is already open.
-
-
- See also the Help entry in the Table of Contents.
-
-
- • Save All
-
-
- This command saves the contents of all open windows.
-
-
- See also the Save command in the Files menu.
-
-
- • Close All
-
-
- This command closes all open windows.
-
-
- See also the Close command in the Files menu.
-
-
- • Other open windows
-
-
- All open windows are listed under the Windows menu. The window in front
-
- is marked. By choosing a window name in the menu the corresponding
-
- window will be made active and brought to front.
-
-
-
-